]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
notificationdaemon: fix gtk protocol for newer glib
authorGiovanni Campagna <gcampagna@src.gnome.org>
Tue, 1 Jul 2014 19:47:31 +0000 (21:47 +0200)
committerGiovanni Campagna <gcampagna@src.gnome.org>
Tue, 1 Jul 2014 19:57:29 +0000 (21:57 +0200)
The new protocol uses a "priority" string instead of the "urgent"
boolean.

js/ui/notificationDaemon.js

index dd25661179e8cce90a0972134b0ac024327eeba9..f596e890161a32d43e403e2b2c6f3a0d55f2db9e 100644 (file)
@@ -692,6 +692,12 @@ const FdoNotificationDaemonSource = new Lang.Class({
     }
 });
 
+const PRIORITY_URGENCY_MAP = {
+    low: MessageTray.Urgency.LOW,
+    normal: MessageTray.Urgency.NORMAL,
+    high: MessageTray.Urgency.HIGH,
+    urgent: MessageTray.Urgency.CRITICAL
+};
 
 const GtkNotificationDaemonNotification = new Lang.Class({
     Name: 'GtkNotificationDaemonNotification',
@@ -705,12 +711,20 @@ const GtkNotificationDaemonNotification = new Lang.Class({
               "body": body,
               "icon": gicon,
               "urgent": urgent,
+              "priority": priority,
               "buttons": buttons,
               "default-action": defaultAction,
               "default-action-target": defaultActionTarget } = notification;
 
-        this.setUrgency(urgent.unpack() ? MessageTray.Urgency.CRITICAL
-                                        : MessageTray.Urgency.NORMAL);
+        if (priority) {
+            let urgency = PRIORITY_URGENCY_MAP[priority.unpack()];
+            this.setUrgency(urgency != undefined ? urgency : MessageTray.Urgency.NORMAL);
+        } else if (urgent) {
+            this.setUrgency(urgent.unpack() ? MessageTray.Urgency.CRITICAL
+                            : MessageTray.Urgency.NORMAL);
+        } else {
+            this.setUrgency(MessageTray.Urgency.NORMAL);
+        }
 
         if (buttons) {
             buttons.deep_unpack().forEach(Lang.bind(this, function(button) {